package com.sumi.system.domain;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.sumi.common.annotation.Excel;
import com.sumi.common.core.domain.BaseEntity;

/**
 * 流程定义对象 flw_process
 * 
 * @author fgf67@163.com
 * @date 2024-07-02
 */
public class FlwProcess extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键ID */
    private Long id;

    /** 租户ID */
    @Excel(name = "租户ID")
    private String tenantId;

    /** 创建人ID */
    @Excel(name = "创建人ID")
    private String createId;

    /** 流程定义 key 唯一标识 */
    @Excel(name = "流程定义 key 唯一标识")
    private String processKey;

    /** 流程定义名称 */
    @Excel(name = "流程定义名称")
    private String processName;

    /** 流程图标地址 */
    @Excel(name = "流程图标地址")
    private String processIcon;

    /** 流程类型 */
    @Excel(name = "流程类型")
    private String processType;

    /** 流程版本，默认 1 */
    @Excel(name = "流程版本，默认 1")
    private Long processVersion;

    /** 实例地址 */
    @Excel(name = "实例地址")
    private String instanceUrl;

    /** 使用范围 0，全员 1，指定人员（业务关联） 2，均不可提交 */
    @Excel(name = "使用范围 0，全员 1，指定人员", readConverterExp = "业=务关联")
    private Integer useScope;

    /** 流程状态 0，不可用 1，可用 2，历史版本 */
    @Excel(name = "流程状态 0，不可用 1，可用 2，历史版本")
    private Integer processState;

    /** 流程模型定义JSON内容 */
    @Excel(name = "流程模型定义JSON内容")
    private String modelContent;

    /** 排序 */
    @Excel(name = "排序")
    private Integer sort;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setTenantId(String tenantId) 
    {
        this.tenantId = tenantId;
    }

    public String getTenantId() 
    {
        return tenantId;
    }
    public void setCreateId(String createId) 
    {
        this.createId = createId;
    }

    public String getCreateId() 
    {
        return createId;
    }
    public void setProcessKey(String processKey) 
    {
        this.processKey = processKey;
    }

    public String getProcessKey() 
    {
        return processKey;
    }
    public void setProcessName(String processName) 
    {
        this.processName = processName;
    }

    public String getProcessName() 
    {
        return processName;
    }
    public void setProcessIcon(String processIcon) 
    {
        this.processIcon = processIcon;
    }

    public String getProcessIcon() 
    {
        return processIcon;
    }
    public void setProcessType(String processType) 
    {
        this.processType = processType;
    }

    public String getProcessType() 
    {
        return processType;
    }
    public void setProcessVersion(Long processVersion) 
    {
        this.processVersion = processVersion;
    }

    public Long getProcessVersion() 
    {
        return processVersion;
    }
    public void setInstanceUrl(String instanceUrl) 
    {
        this.instanceUrl = instanceUrl;
    }

    public String getInstanceUrl() 
    {
        return instanceUrl;
    }
    public void setUseScope(Integer useScope) 
    {
        this.useScope = useScope;
    }

    public Integer getUseScope() 
    {
        return useScope;
    }
    public void setProcessState(Integer processState) 
    {
        this.processState = processState;
    }

    public Integer getProcessState() 
    {
        return processState;
    }
    public void setModelContent(String modelContent) 
    {
        this.modelContent = modelContent;
    }

    public String getModelContent() 
    {
        return modelContent;
    }
    public void setSort(Integer sort) 
    {
        this.sort = sort;
    }

    public Integer getSort() 
    {
        return sort;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("tenantId", getTenantId())
            .append("createId", getCreateId())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("processKey", getProcessKey())
            .append("processName", getProcessName())
            .append("processIcon", getProcessIcon())
            .append("processType", getProcessType())
            .append("processVersion", getProcessVersion())
            .append("instanceUrl", getInstanceUrl())
            .append("remark", getRemark())
            .append("useScope", getUseScope())
            .append("processState", getProcessState())
            .append("modelContent", getModelContent())
            .append("sort", getSort())
            .toString();
    }
}
